/**
 * 通过function*定义生成器函数
 * yield 产出值 或者返回一些值
 */
function* gen() {
    console.log(1)
    yield 'a';
    console.log(2)
    yield 'b';
    console.log(3)
    yield 'c';
    console.log(4)
    return 'd'
}
//执行生成器，返回迭代器
//当你调用一个生成器函数的时候，它不会立刻执行，而是会返回一个迭代器对象，使用这个对象
//的next方法可以从生成器中获取下一值
//每次调用next的时候，都会生成生成器函数，直到遇到下一个yield,然后暂停执行并返回
//yield后的值，当没有更多值可以返回值，就返回done:true
const it = gen();
let result1 = it.next();
console.log(result1)
let result2 = it.next();
console.log(result2)
let result3 = it.next();
console.log(result3)
let result4 = it.next();
console.log(result4)

